home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / INFO / DOS5BUG1.ZIP / READ.ME < prev   
Text File  |  1991-06-23  |  1KB  |  24 lines

  1. DOS PROGRAMMERS, NOTE:  The purpose of this program is to demonstrate a
  2. bug I have noticed in the way MS-DOS Version 5.00 loads a program into
  3. an Upper Memory Block (UMB).  You may want to write a few extra lines of
  4. code to compensate for it.  Here is what happens:  When a user enters a
  5. DOS command followed immediately by filenames or drive letters in the
  6. format "δ:filename" (i.e. drive letter followed by a colon), DOS is
  7. supposed to encode each drive letter in the bytes at offsets 5Ch and
  8. 6Ch, respectively, in the program segment prefix (PSP) as the first byte
  9. of an unopened FCB.  An entry of "A:" is supposed to give you 01h, "B:"
  10. yields 02h, and so forth.  However, when MS-DOS Version 5.00 is running
  11. and your program has been loaded into a UMB using the LOADHIGH or LH
  12. command, DOS falls down.  The byte at 5Ch always remains a zero no
  13. matter what, and the byte at 6Ch is coded for the *first* drive
  14. specified!  (If you specify a second drive, it ends up who-knows-where.)
  15. If you enter "BUGTEST a: b:" under DOS Version 5.00, it will correctly
  16. return the specified drives.  But if you enter "LOADHIGH BUGTEST a: b:"
  17. instead, you'll notice that DOS reports no first drive and the wrong
  18. second drive.  Probably nobody uses FCBs anymore, but those drive bytes
  19. come in very handy sometimes.  Grrrrr!
  20.  
  21.                                            -- Jerry Monroe, CIS # 72321,1257
  22.                                               June 23, 1991
  23.  
  24.